ada79b8c0a801d7ae95d4ee2471444543150be92,src/org/opendedup/sdfs/filestore/cloud/BatchJCloudChunkStore.java,BatchJCloudChunkStore,run,#,784
Before Change
// hashString);
metaData.put("deleted", "true");
metaData.put("deletedobjects", Integer.toString(delobj));
blobStore.copyBlob(this.name, this.getClaimName(k), this.name, this.getClaimName(k),
CopyOptions.builder().contentMetadata(dmd.getContentMetadata())
.userMetadata(metaData).build());
}
} else {
// SDFSLogger.getLog().info("updating " +
// hashString + " sz=" +objs);
metaData.put("deletedobjects", Integer.toString(delobj));
blobStore.copyBlob(this.name, this.getClaimName(k), this.name, this.getClaimName(k),
CopyOptions.builder().contentMetadata(dmd.getContentMetadata())
.userMetadata(metaData).build());
}
After Change
String hashString = EncyptUtils.encHashArchiveName(k.longValue(),
Main.chunkStoreEncryptionEnabled);
try {
BlobMetadata dmd = blobStore.blobMetadata(this.name, this.getClaimName(k));
Map<String, String> metaData = dmd.getUserMetadata();
int objs = Integer.parseInt(metaData.get("objects"));
// SDFSLogger.getLog().info("remove requests for " +
// hashString + "=" + odel.get(k));
int delobj = 0;
if (metaData.containsKey("deletedobjects"))
delobj = Integer.parseInt((String) metaData.get("deletedobjects"));
// SDFSLogger.getLog().info("remove requests for " +
// hashString + "=" + odel.get(k));
delobj = delobj + odel.get(k);
if (objs <= delobj) {
int size = Integer.parseInt((String) metaData.get("size"));
int compressedSize = Integer.parseInt((String) metaData.get("compressedsize"));
if (HashBlobArchive.compressedLength.get() > 0) {
HashBlobArchive.compressedLength.addAndGet(-1 * compressedSize);
} else if (HashBlobArchive.compressedLength.get() < 0)
HashBlobArchive.compressedLength.set(0);
HashBlobArchive.currentLength.addAndGet(-1 * size);
if (HashBlobArchive.currentLength.get() > 0) {
HashBlobArchive.currentLength.addAndGet(-1 * size);
} else if (HashBlobArchive.currentLength.get() < 0)
HashBlobArchive.currentLength.set(0);
HashBlobArchive.removeCache(k.longValue());
if (this.deleteUnclaimed) {
this.verifyDelete(k.longValue());
} else {
// SDFSLogger.getLog().info("deleting " +
// hashString);
metaData.put("deleted", "true");
metaData.put("deletedobjects", Integer.toString(delobj));
this.updateObject(this.getClaimName(k), dmd, metaData);
}
} else {
// SDFSLogger.getLog().info("updating " +
// hashString + " sz=" +objs);
metaData.put("deletedobjects", Integer.toString(delobj));
this.updateObject(this.getClaimName(k), dmd, metaData);
}
} catch (Exception e) {
delLock.lock();